If no server is specified on the command line using the -h option, the server specified by the NNTPSERVER environment variable will be used. The -f option specifies which newsrc file should be used. If none is specified, a default value of .jnewsrc will be used. This value can be set on a server by server basis using the .slrnrc initialization file.
The -create option should be used the first time slrn is used for a particular server. This causes slrn to read the entire list of groups available at the server and place them in the selected newsrc file. If the NNTP connection is slow, this process may take several minutes. Fortunately, this happens only when the -create flag is used.
If -C is specified on the command line, the terminal is assumed to support colors. Colors may be specified by using the initialization file. If the -n option is present, no new newsgroups will be checked for. This may result in a faster startup.
-> 3 sci.research.postdoc 689-705 1 comp.databases.olap 1-1 4 rec.antiques.radio+phono 1-4 1 comp.emulators.ms-windows.win 339-349 113 comp.unix.questions 74401-74513 11 gnu.ghostscript.bug 4874-4884 100 alt.music.pink-floyd 7941-8040 11 rec.sport.baseball.analysis 239-249 3 rec.sport.baseball.data 267-269 13 sci.physics.electromag 1159-1171 65 comp.sys.ibm.pc.hardware.systems 4754-4818 5 sci.physics.particle 1069-1073 2 comp.sources.x 2362-2363 2 comp.unix.user-friendly 2603-2604
Here the middle column shows the name of a newsgroup and the left column shows the number of unread articles in the group. The right column shows the range of articles present on the server. Note the presence of the -> in the first column on the `sci.research.postdoc' line. This symbol is used by slrn as a pointer to indicate the currently selected line. It may be moved up and down by using the arrow keys. Pressing the RETURN key or the SPACEBAR at this point will select the `sci.research.postdoc' group. A new screen will appear showing something like:
->- 703 (P) Lecturer in Comp. dumontet@nuri.inria.fr (dumo - 704 Research & Developnment dumontet@nuri.inria.fr (dumo - 705 Re: Example of proposal shinbrot@bart.chem-eng.nwu.e
Here, each line consists of four fields and possibly the -> cursor. The first field indicates whether the article has been read or not. A hyphen ( - ) in the first field indicates that the article has not been read. Since a hyphen appears in the first field in all three of the lines above, none of the articles have been marked as read. A d in this field indicates that an article has been read. The currently selected article can be changed from the read to the unread state by pressing the u key. The d key may be used to mark the article as read without actually reading it. The c key may be used to mark all the articles as read (Actually this is the preferred way to use the newsreader: scan the articles by eye looking for something interesting then before moving on to next newsgroup, press `c' to mark all articles as read).
The second field displays the server number of the article. The third and fourth fields contain the subject and author of the article, respectively.
Pressing the SPACEBAR or the RETURN key will create a second window and display the contents of the currently selected article. The screen will now consist of two windows - a large one and a small one. The large window, known as the article window, will contain the currently selected article and the small one, known as the summary window, will contain the list of articles as shown above. The space bar may be used the scroll the article forward and the DELETE key or the `B' key may be used to scroll it backward. The UP/DOWN arrow keys simply move the -> cursor from one line to another in the summary window. To hide the article window, press the h key.This will zoom the summary window to full screen.
The f key may be used to post a followup to the currently selected article. To return to the list of Newsgroups, press the Q key to leave this mode.
These keybindings may be used at the newsgroup level:
The following bindings are valid once a newsgroup has been selected:
BINDING KEYS
To bind a key to a particular function use the syntax:
setkey keymap function key-sequence
The setkey function requires three arguments.The first argument specifies the keymap to be used for the bindings. Valid keymaps are: group and article. The function argument spacifies the function that is executed when keys in the last argument are pressed. For example,
setkey group quit "x"
indicates that if x is pressed at the group level, the quit function will be executed. Note that although not normally necessary, the last argument should be enclosed in double quotes since it may contain SPACE characters.
The key-sequence argument can consist of several characters. For example, on many terminals, the RIGHT arrow sends the three characters ESC, `[' and `C' to the terminal. To bind the RIGHT key to `select_group' function, use:
setkey group select_group "\e[C"
Sometimes, it is necessary to unbind a key from a keymap before binding the key. For example, one cannot do:
setkey group quit "\e"
to bind the ESC key to the quit function without first unsetting it. This is because the default bindings use the ESC character as the prefix character for certain keymaps. To achieve this goal, use the unsetkey function:
unsetkey group "\e"
setkey group quit "\e"
Here the unsetkey function has been used to remove the binding for the ESC character before binding it to the `quit' function. Please note that unsetting the ESC key will also unset any key sequence been with the ESC key. This includes most function keys.
See the example initialization file below for the list of functions and their meaning.
USING MULTIPLE SERVERS
The easiest way to use multiple servers is through the use of the server command in the .slrnrc file. This command simple associates a server name with a newsrc file:
server nntp-server newsrc-file
For example, suppose that you use three servers with hostnames `red.news.edu', `blue.news.edu', and `green.news.edu'. The the lines:
server red.news.edu .jnewsrc-red
server blue.news.edu .jnewsrc-blue
server green.news.edu .jnewsrc-green
specify that the file .jnewsrc-red is to be used when the server red.news.edu is connected to, etc...
DEFINING COLORS
Color support is enabled when suing the `-C' command line switch. The colors may be defined through the use of the `color' keyword in the `.slrnrc' file. The syntax is:
color OBJECT-NAME FOREGROUND-COLOR BACKGROUND-COLOR
Here, OBJECT-NAME can be any one of the following items:
menu -- Line at the top of the display (menu bar) menu_press -- Menu bar entry when activated status -- Status line attached to windows cursor -- The --> position indicator error -- Error messages group -- Newsgroup names (group mode) description -- Newsgroup descriptions (group mode) article -- The body of the article (not headers) headers -- The lines that constitute the headers of the article author -- Author's name subject -- Subject signature -- Author's signature quotes -- Quoted material high_score -- Articles with high scores tree -- Article tree tilde -- Tildes (tilde mode) thread_number -- Thread numbers normal -- anything not included above
The foreground/background color names can be any of the following:
black gray red brightred green brightgreen brown yellow blue brightblue magenta brightmagenta cyan brightcyan lightgray white
Most terminals do not support the second group of colors for the background.
HIDING QUOTED ARTICLES
Often articles contain quotes of previous articles.
slrn
is capable of not displaying lines in an article that match a given regular
expression. The regular expression may be specified by putting a line of
the form
ignore_quotes REGULAR-EXPRESSION
in the
.slrnrc
startup file. The default regular expression is
"^ ?[:>=]"
which matches any line that begins with or without a space followed by
either a colon, greater than sign, or an equal sign.
To toggle the display of such lines on or off, press the `T' key when in article mode.
(For a complete description of the flexibility in the slrn scorefile system, see the files KILL_FAQ and score.txt in the slrn distribution)
slrn incorporates a sophisticated system for scoring articles. In other newsreaders, one of slrn's scoring features would be called a " killfile ". But unlike some other newsreaders, slrn provides for a great degree of flexibility and the capability to mark articles in ways other than merely killing them.
Four levels of scoring are provided:
CONFIGURING THE SCOREFILE
The scorefile system is disabled until you set scorefile to the pathname of the file slrn should use to hold the scoring parameters.
Once set, scorefile may be accessed through the E command at the header window, or may be edited manually. When accessed with E , slrn appends a template based upon the currently selected article to the scorefile with various parameters taken from the article and you are placed in your editor. To enable scoring, delete the % comment symbol from the first column of the header line(s) you wish to score upon.
The other way to configure your scorefile is by editing the file directly, with a text editor. Here is a sample scorefile (remember the KILL_FAQ and score.txt files are the definitive references for the score system):
[news.software.readers] Score: 9999 % All slrn articles are good Subject: slrn Score: 9999 % This is someone I want to hear from From: davis@space.mit.edu Score = -9999 Subject: <f?agent> [comp.os.linux.*] Score: -10 Expires: 1/1/1996 Subject: swap Score: 20 Subject: SunOS Score: 50 From: Linus % Kill all articles cross posted to an advocacy group Score: -9999 Xref: advocacy ~From: Linus % This person I want nothing to do with unless he posts about % `gizmos' but only in comp.os.linux.development.* Score: -9999 From: someone@who.knows.where ~Subject: gizmo ~Newsgroup: development % These stooges post massive .sigs all the time. I like % to track them [alt.fan.warlord] Score:: 20 Subject: larry Subject: curly
This file consists of two sections. The first section defines a set of tests applied to the news.software.readers newsgroups. The second section applies to the comp.os.linux newsgroups.
The first section consists of three tests. The first test applies a score of 9999 to any subject that contains the string `slrn'. The second test applies to the `From'. It says that any article from davis@space.mit.edu gets scores 9999. The third test gives a score of -9999 to any article whose subject contains the word `agent'. Since tests are applied in order, if an article contains both `slrn' and `agent', it will be given a score of 9999 since 9999 is a special score value.
The second section is more complex. It applies to the newsgroups comp.os.linux newsgroups and consists of 5 tests. The first three are simple: -10 points are given if the subject contains `swap', 20 if it contains SunOS, and 50 if the article is from someone named `Linus'. This means that if Bill@Somewhere writes an article whose subject is `Swap, Swap, Swap', the article is give -10 points. However, if the Linus writes an article with the same title, it is given -10 + 50 = 40 points. Note that the first test expires at the beginning of 1996.
The fourth test kills all articles that were cross posted to an advocay newsgroup UNLESS they were posted by Linus. Note that if a keyword begins with the `~' character, the effect of the regular expression is reversed.
The fourth test serves to filter out posts from someone@who.knows.where unless he posts about `gizmos' in one of the comp.os.development newsgroups. Again note the `~' character.
The last test marks as important messages from mentioning Moe or Curly in the alt.fan.warlord newsgroup. This demonstrates use of an "OR" condition in a scorefile.
If you elect to send a courtesy copy of your followup article to the original poster, you may easily do so by adding a "Cc:" header to the article. Here is an example of how to send a courtesy copy of a followup to John Davis' (slrn's author) announcement of a new slrn version:
Newsgroups: news.software.readers
Subject: Re: slrn 0.8.0 Released!
References: <46c6b8$e2@news.mit.edu>
Organization: a clean well lit place
Reply-To: hg@n2wx.ampr.org
Followup-To:
Cc: davis@space.mit.edu
On 22 Oct 1995 01:26:45 GMT, John Davis <davis@space.mit.edu> wrote:
...
John will receive a copy of the followup by email with the article text preceded by a line of text stating that [This message has also been posted.] (The text within the brackets may be customized with the .slrnrc cc_followup_string parameter.)
MISCELLANEOUS SETTINGS
The .slrnrc initialization file also supports the following commands:
signature <signature file name> organization <Your organization name> replyto <Email address to be used reply to> quote_string <string to be used to quote an article> editor_command <string used to invoke editor> scorefile <score file name> For example, signature .news-signature organization "Society of Famous Outlaws" signature "Billy the Kid" quote_string ">" editor_command "jed %s -g %d -tmp" scorefile "News/Score"
$HOME/.jnewsrc - default newsrc file for slrn.
% This is a sample startup file for the slrn news reader. The percent % character is used for comments. % SERVER to NEWSRC mapping %server hsdndev.harvard.edu .jnewrc-hsdndev %server news.uni-stuttgart.de .jnewsrc-stuttgart % The next line is for those servers that require a password. %nnrpaccess HOSTNAME USERNAME PASSWORD %hostname "YOUR.HOSTNAME" %set username "jdoe" %set realname "John Doe" %set replyto "jd@somthing.com" % Name of signature file to use %set signature ".signature" % The quote string will be used when following up/replying quote_string ">" % If non-zero, signature will not be included in quoted text of followups set followup_strip_signature 0 % This regular expression defines lines that are consider to be quoted lines. % It says that any lines beginning with 0-2 spaces followed by a either % a >, <, :, |, or = character is a quoted line. ignore_quotes "^ ? ?[><:=|]" % This sets the follow-up string. Here, the following format specifiers are % recognized: %d:date, %r:real name, %f:email address, %s:subject, % %m:msgid, %n:newsgroups, %%: percent followup "On %d, %r <%f> wrote:" %Custom headers to add to post/followup %set custom_headers "X-Whatever: bla-Misc: bla bla" % WWW browser to use. The 'U' key in article mode searches the current article % for a URL and then calls X browser if slrn appears to be run in X windows % and non_Xbrowser otherwise. set Xbrowser "netscape %s &" set non_Xbrowser "lynx %s" % If autobaud is present, output rate will be synced to baud rate %autobaud % if non-zero, display first article when entering article-mode. set show_article 0 % if non-zero, show description of newsgroup if available set show_descriptions 1 % column where group descriptions start set group_dsc_start_column 40 % If non-zero, backups of the newsrc file are not performed. set no_backups 0 % If 0, do not beep terminal. If 1, send audible beep. If 2, send only % visible bell. If 3, send both. set beep 1 % If non-zero, slrn will automatically subscribe new groups. The default is 0. set unsubscribe_new_groups 0 % If non-zero, all subject titles will be displayed even though many are % duplicated. A zero value makes the screen look less busy. set show_thread_subject 0 % Enable xterm mouse support: 1 to enable, 0 to disable set mouse 0 % Setting either of these to 0 will enable you to move directly to the % next article/group without confirmation set query_next_group 1 set query_next_article 1 % if zero, you will not see the "next group:" prompt. This is NOT the same % as the 'query_next_group' variable. set prompt_next_group 1 % Set this to 0 for no-confirmation on follow, reply, quit, etc... set confirm_actions 1 % If 0, do not display the name of the author. % If 1, display subject then name. If 2, display name then subject. set author_display 2 % If 0, save all groups when writing newsrc file % if 1, do not save any unsubscribed groups % if 2, do not save any unread-unsubscribed groups set write_newsrc_flags 1 % If greater than 0, a Cc: header to poster will automatically be generated on % followups. If -1, prompt first. set cc_followup 0 cc_followup_string "[This message has also been posted.]" % The sendmail command allows you to substitute another mailer. Be sure that % it implements the same interface as sendmail! %set sendmail_command "/usr/lib/sendmail -oi -t -oem -odb" % Name of score file (relative to HOME directory) scorefile "News/Score" % Name of directory where decoded files are placed (relative to HOME) set decode_directory "News" % Directory where all other files are saved. set save_directory "News" % Command used to invoke editor. In the following example, %s represents % the file name and %d represents the starting line number %editor_command "jed %s -g %d -tmp" % If non-zero, files used for posting, followup and reply will be regarded as % temporary files in the directory specified by the TMPDIR environment % variable or /tmp. set use_tmpdir 0 % If 0, do not sort. If 1, perform threading. If 2, sort by subject % If 3, thread then sort result by subject % If 4, sort by score. If 5, thread then sort by score. set sorting_method 3 set display_score 0 % If non-zero, threads will be uncollapsed when a group is entered set uncollapse_threads 0 % If non-zero, slrn will read the active file when starting. This may lead to % faster startup times IF your network connection is fast. If it slow, % DO NOT USE IT. If you can, I recommend setting it to 1. set read_active 0 % If non-zero and read_active is zero, slrn will attempt to use the NNTP % XGTITLE command when listing unsubscribed groups. set use_xgtitle 0 % What to wrap when wrapping an article: % 0 or 4 ==> wrap body % 1 or 5 ==> wrap headers, body % 2 or 6 ==> wrap quoted text, body % 3 or 7 ==> wrap headers, quoted text, body % The higher number indicates that every article will be automatically % wrapped. set wrap_flags 4 % Maximum number of articles to read before slrn will prompt. Default is 100. % Set this to zero to turn of prompting. set query_read_group_cutoff 100 % Numes of lines to read from the server between percentage counter updates % This number will vary with the speed of the connection to your server set lines_per_update 100 %--------------------------------------------------------------------------- % Mime support %--------------------------------------------------------------------------- set use_mime 1 set mime_charset "iso-8859-1" % If non-zero, call metamail for mime formats that slrn does not handle set use_metamail 1 % If non-zero, header numbers will be displayed in the left-margin of the % header window. These numbers may be used as ``thread selectors''. set use_header_numbers 1 % If non-zero, prompt for reconnection if the NNTP connection drops. If zero, % attempt reconnection without asking user. set query_reconnect 1 % Character to use to hide spoiler text: set spoiler_char '*' %--------------------------------------------------------------------------- % Local spool configuration %--------------------------------------------------------------------------- % set spool_inn_root "/export/opt/inn" % set spool_root "/export/news" % set spool_nov_root "/export/news" % %% -- The following filenames are relative to spool_root % % set spool_nov_file ".overview" % set spool_active_file "data/active" % set spool_activetimes_file "data/active.times" % set spool_newsgroups_file "data/newsgroups" %--------------------------------------------------------------------------- % GroupLens Support %--------------------------------------------------------------------------- %set use_grouplens 1 %color grouplens_display blue white %set grouplens_host "grouplens.cs.umn.edu" %set grouplens_port 9000 %set grouplens_pseudoname "YOUR_PSEUDONAME" %grouplens_add "rec.cooking.recipes" %grouplens_add "comp.os.linux.misc" %------------ % Colors %------------ color header_number green white color normal black white color error red white color status yellow blue color normal black white color error red white color status yellow blue color group blue white color article blue white color cursor brightgreen white color author magenta white color subject black white color headers brightcyan white color menu yellow blue color menu_press yellow blue color tree red white color quotes red white color thread_number blue white color high_score red white color signature red white color description blue white color tilde green white %----------------------------------------------------- % Monochrome attributes for monochrom terminals %----------------------------------------------------- mono normal none mono header_number none mono error blink bold mono status reverse mono group bold mono article none mono cursor bold reverse mono author none mono subject none mono headers bold mono menu reverse mono menu_press none mono tree bold mono quotes underline mono thread_number bold mono high_score bold mono signature none mono description none %------------------------ Group keymap------------------------------------ setkey group add_group "A" % add a new newsgroup setkey group bob "\<" % beg of buffer setkey group bob "^K\OA" setkey group bob "^K\[A" setkey group catch_up "C" % mark group as read setkey group down "\OB" % next group setkey group down "\[B" setkey group down "^N" setkey group eob "\>" % end of buffer setkey group eob "^K\OB" setkey group eob "^K\[B" setkey group group_search_forward "/" setkey group help "?" setkey group pagedown "^D" % next page of groups setkey group pagedown "\[6~" setkey group pagedown "^V" setkey group pageup "\V" % previous page of groups setkey group pageup "^U" setkey group pageup "\[5~" setkey group post "P" setkey group quit "Q" setkey group redraw "^L" setkey group redraw "^R" setkey group refresh_groups "G" setkey group save_newsrc "X" setkey group select_group "" % read articles from group setkey group select_group " " setkey group subscribe "S" % subscribe to group (See unsubscribe) setkey group suspend "^Z" setkey group toggle_group_display " 33A" setkey group toggle_score "K" setkey group toggle_hidden "l" setkey group toggle_list_all "L" setkey group unsubscribe "U" % unsubscribe setkey group up "\OA" % previous line setkey group up "\[A" setkey group up "^P" %---------------- Article mode keymap ------------------------------------- setkey article goto_article "j" setkey article pipe_article "|" setkey article skip_quotes " " setkey article pageup "^U" setkey article pageup "\[5~" setkey article pageup "\V" setkey article pagedn "\[6~" setkey article pagedn "^D" setkey article pagedn "^V" setkey article post "P" setkey article toggle_show_author "\a" setkey article get_parent_header "\p" setkey article catchup_all "c" setkey article catchup_all "\c" setkey article uncatchup_all "\u" setkey article catchup "\C" setkey article uncatchup "\U" setkey article scroll_dn " " % scroll to next page of article or select article setkey article scroll_up "^?" % scroll to next page of article setkey article scroll_up "b" % (scroll_up or article_pageup) setkey article article_lineup "\\[A" % Scroll article one line up setkey article article_lineup "\\OA" setkey article article_linedn "\\[B" % Scroll article one line down setkey article article_linedn "\\OB" setkey article article_linedn "" setkey article article_search "/" % Search forward through article setkey article author_search_forward "a" % Search forward for an author setkey article author_search_backward "A" % Search backward for an author setkey article cancel "\^C" % Cancel the article setkey article delete "d" % Mark current article as read and move to the next unread one setkey article down "^N" % Move to the next article setkey article down "\[B" setkey article down "\OB" setkey article mark_spot ";" % Set mark at current article setkey article exchange_mark "," % Set the mark and return to the location of the previous mark. setkey article followup "f" % Followup on the article setkey article forward "F" % Forward the article to someone setkey article help "?" % Show help screen setkey article hide_article "H" % Hide the article window. setkey article art_eob ">" % goto end of article setkey article left "\OD" setkey article left "\[D" setkey article next "n" % next unread article setkey article skip_to_next_group "N" % next group setkey article prev "p" % previous unread article setkey article quit "q" % Quit back to group mode. setkey article redraw "^L" % Redraw the display setkey article redraw "^R" setkey article reply "r" % Reply to the author of the current article setkey article art_bob "<" % Goto beginning of article setkey article right "\[C" setkey article right "\OC" setkey article save "O" % append to a file in Unix mail format setkey article subject_search_forward "s" % Search forward/backward for an article with a specific subject setkey article subject_search_backward "S" setkey article suspend "^Z" % Suspend the newsreader setkey article toggle_rot13 "\R" setkey article toggle_sort "\S" setkey article toggle_headers "t" % Toggle the display of some headers on and off setkey article toggle_quotes "T" setkey article undelete "u" % Mark the current article as unread setkey article up "^P" % Move to the previous article setkey article up "\OA" setkey article up "\[A" setkey article header_bob "\<" % Move to first article in list setkey article header_eob "\>" % Move to last article in list setkey article shrink_window "^^" % Ctrl-6 or Ctrl-^ % Shrink header window setkey article enlarge_window "^" % Shift-6 or just ^ % Enlarge header window %setkey article skip_to_prev_group "" % No default binding %setkey article fast_quit "" % No default binding % This is a special hack for HP terminals to get the arrow keys working. % Are there any other terminals being used with non-ANSI arrow keys? #if$TERM hpterm setkey group up "\A" % "^(ku)" setkey group down "\B" % "^(kd)" setkey article down "\B" setkey article up "\A" setkey article left "\D" setkey article right "\C" #endif
Questions about slrn may be posted to the newsgroup news.software.readers where they will be answered by the author of the program. In addition, announcements of new versions of slrn are posted there.
The latest version of slrn is available via anoymous ftp from space.mit.edu in pub/davis/slrn.
(This list is still incomplete)
Howard Goldstein <hg@n2wx.ampr.org> for updating this man page.
Andrew Greer <Andrew.Greer@vuw.ac.nz> for the VMS port.
Jay Maynard <jmaynard@admin5.hsc.uth.tmc.edu> for the OS/2 port.
Michael Elkins <elkins@aero.org> for the MIME code.
Lloyd Zusman <ljz@ingress.com> performed some cosmetic improvements.
J.B. Nicholson-Owens <jbn@mystery-train.cu-online.com> for extensive testing.
Mark Olesen <olesen@weber.me.queensu.ca> for suggestions and help with AIX version.